package de.tg.handball;

import java.util.Date;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.format.DateUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import de.tg.handball.data.DataManager;
import de.tg.handball.data.Halle;
import de.tg.handball.data.Pair;
import de.tg.handball.data.Spiel;
import de.tg.handball.util.Util;

public class SpielDetailsActivity extends Activity {

	private Spiel spiel = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		spiel = DataManager.getInstance().curSpiel;

		if (spiel == null) {
			finish();
			return;
		}

		setContentView(R.layout.spiel_details);
		setTitleColor(getResources().getColor(R.color.tg_title_color));

		TextView v = (TextView) findViewById(R.id.spiel_liga);
		v.setText(spiel.getLiga());

		v = (TextView) findViewById(R.id.spiel_datum);
		v.setText(Util.dateForm.format(spiel.getDatum()));

		v = (TextView) findViewById(R.id.spiel_ergebnis);
		Pair<Integer, Integer> erg = spiel.getErgebniss();
		v.setText(erg.first + " : " + erg.second);

		v = (TextView) findViewById(R.id.spiel_gast);
		v.setText(spiel.getGast());

		v = (TextView) findViewById(R.id.spiel_heim);
		v.setText(spiel.getHeim());

		if (spiel.getHalle() != null) {
			v = (TextView) findViewById(R.id.spiel_halle);
			v.setText(spiel.getHalle().toString());
		} else {
			findViewById(R.id.spiel_halle_label).setVisibility(View.GONE);
			findViewById(R.id.spiel_halle).setVisibility(View.GONE);
		}
		if (spiel.getSpielBericht() != null) {
			v = (TextView) findViewById(R.id.spiel_spielbericht);
			v.setText(spiel.getSpielBericht());
		} else {
			findViewById(R.id.spiel_spielbericht).setVisibility(View.GONE);
			findViewById(R.id.spiel_spielbericht_label)
					.setVisibility(View.GONE);
		}

		Button b = (Button) findViewById(R.id.spiel_button_map);
		if (spiel.getHalle() != null)
			b.setOnClickListener(new OnClickListener() {

				public void onClick(View v) {
					if (spiel != null && spiel.getHalle() != null) {
						Halle halle = spiel.getHalle();
						String uri = "geo:0,0?q=" + halle.getStrasse() + " "
								+ halle.getOrt();
						startActivity(new Intent(
								android.content.Intent.ACTION_VIEW, Uri
										.parse(uri)));
					}
				}
			});
		else
			b.setEnabled(false);

		b = (Button) findViewById(R.id.spiel_button_calender);
		if (new Date().before(spiel.getDatum()))
			b.setOnClickListener(new OnClickListener() {

				public void onClick(View v) {
					long startTime = spiel.getDatum().getTime();
					long endTime = spiel.getDatum().getTime()
							+ DateUtils.HOUR_IN_MILLIS;

					Intent intent = new Intent(Intent.ACTION_EDIT);
					intent.setType("vnd.android.cursor.item/event");
					intent.putExtra("title", "Spiel " + spiel.getHeim()
							+ " gegen " + spiel.getGast());
					intent.putExtra("description", spiel.toString());
					intent.putExtra("beginTime", startTime);
					intent.putExtra("endTime", endTime);
					intent.putExtra("visibility", 2);
					intent.putExtra("eventLocation", spiel.getHalle()
							.toString());
					startActivity(intent);
				}
			});
		else
			b.setEnabled(false);
	}
}
